home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zh.d64
/
txt.char by char
< prev
next >
Wrap
Text File
|
2007-03-01
|
2KB
|
111 lines
├╚┴╥ ┬┘ ├╚┴╥
BY ─ICK ╦LINGENS
╔F ONE MUST MAKE A CHOICE IN A
PROGRAM MENU, IT CAN BE PROGRAMMED
LIKE THIS:
╨╥╔╬╘ "0 - [╙]TOP PROGRAM"
╨╥╔╬╘ "1 - [┴]DD RECORDS"
╨╥╔╬╘ "2 - [─]ELETE RECORDS"
╨╥╔╬╘ "3 - [├]HANGE RECORDS"
//
╨╥╔╬╘ "═AKE YOUR CHOICE"
╥┼╨┼┴╘
╔╬╨╒╘ "": C$
╒╬╘╔╠ C$ ╔╬ "╙S┴A─D├C0123"
//
├┴╙┼ C$ ╧╞
╫╚┼╬ "0","╙","S"
:
:
╫╚┼╬
:
┼SPCIALLY IN USER FRIENDLY PROGRAMS ╔
OFTEN REPLACE THE ╥┼╨┼┴╘ STRUCTURE
WITH THE FOLLOWING FUNCTION CALL
C$:=CH$("╙S┴A─D├C0123")
WITH
╞╒╬├ CH$(ANSWER$) ├╠╧╙┼─
╒╙┼ SYSTEM
P$:=├╚╥$(191) // INPUT CURSOR
RON$:=├╚╥$(18) // REVERSE ON
ROFF$:=├╚╥$(146) // REVERSE OFF
CLT$:=├╚╥$(157) // CURSOR LEFT
╥┼╨┼┴╘
╥┼╨┼┴╘
╨╥╔╬╘ RON$+P$+ROFF$+CLT$, //REV
R$:=╦┼┘$
╨╥╔╬╘ P$+CLT$, // NORMAL
╒╬╘╔╠ R$<>""0""
OK:=R$ ╔╬ ANSWER$
╔╞ ╬╧╘ OK ╘╚┼╬ BELL(1)
╒╬╘╔╠ OK
╨╥╔╬╘ R$ // SHOW ALLOWED CHAR
// ╨╥╔╬╘ R$,
//
// ╒SE THIS LINE FOR REPEATED
// INPUT OF SELECTED CHARACTERS.
//
╥┼╘╒╥╬ R$
┼╬─╞╒╬├ CH$
╘HE FUNCTION USES ITS OWN CURSOR,
├╚╥$(191), AND REACTS ON INCORRECT
INPUT WITH ┬┼╠╠(1). ╔F REPEATED INPUT
IS NEEDED FROM A SELECTED SET, ONE
CAN USE THE PRINT STATEMENT ENDED
WITH COMMA.
┼XAMPLE.
╨╥╔╬╘ "╘YPE CURRENT YEAR ",
YEAR$:=CH$("89") // FIRST CHAR
YEAR$:+CH$("0123456789") // SECOND
╨╥╔╬╘ // NEEDED AFTER REPEATED INPUT
┬ECAUSE VERSION 0.14 DOES NOT ALLOW
STRING FUNCTIONS ONE MUST USE A
REFERENCE PARAMETER AND A PROCEDURE.
// FOR VERSION 0.14
//
PROC CH(REF F$, ANSWER$) CLOSED
DIM P$ OF 1, RON$ OF 1, ROFF$ OF 1
DIM CLT$ OF 1
//
P$:=CHR$(191); RON$:=CHR$(18);
ROFF$:=CHR$(146); CLT$:=CHR$(157)
//
REPEAT
REPEAT
PRINT RON$+P$+ROFF$+CLT$,
F$:=KEY$
PRINT P$+CLT$,
UNTIL F$<>CHR$(0)
OK:=(F$ IN ANSWER$)
UNTIL OK
PRINT F$
// OR PRINT F$,
ENDPROC CH
USED IN THE TWO EXAMPLES ABOVE:
CH(C$,"1234"+CHR$(13)")
AND
CH(YEAR$,"89")
CH(C$,"0123456789") // C$ AS HELP
YEAR$:+C$
╘HE FUNCTION IS USED IN TWO 2.0
PROGRAMS ON THE DISK: ╔╬╞╧-├╚┴╧╙ AND
├╚┴╥'┬┘'├╚┴╥ AND IN THE 0.14 PROGRAM
├╚┴╥'╔╬'0.14.